$(document).ready(function(){
    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();
    initDate();
    $("#tb_borrow").bootstrapTable("hideColumn", "transactionHash");
});
var pageNumber = 1;

function TableInit() {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('.cover').hide();
        $('#tb_borrow').bootstrapTable({
            url: "/content/getContent",   //请求后台的URL（*）
            method: 'get',      //请求方式（*）
            contentType: "application/x-www-form-urlencoded",
            toolbar: '#toolbar',    //工具按钮用哪个容器
            striped: true,      //是否显示行间隔色
            cache: false,      //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            sortStable: true,
            pagination: true,     //是否显示分页（*）
            sortable: false,      //是否启用排序
            sortName: undefined,   //定义排序列,通过url方式获取数据填写字段名，否则填写下标
            sortOrder: "asc",     //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",   //分页方式：client客户端分页，server服务端分页（*）
            pageNumber: pageNumber,      //初始化加载第一页，默认第一页
            pageSize: 30,      //每页的记录行数（*）
            pageList: [30, 50, 100, 300],  //可供选择的每页的行数（*）
            search: false,      //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: true,     //是否显示所有的列
            showRefresh: false,     //是否显示刷新按钮
            minimumCountColumns: 2,    //最少允许的列数
            clickToSelect: false,    //是否启用点击选中行
            height: 525,      //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            fixedColumns: true,
            fixedNumber: 17,
            uniqueId: "ID",      //每一行的唯一标识，一般为主键列
//                showToggle:false,     //是否显示详细视图和列表视图的切换按钮
            cardView: false,     //是否显示详细视图
            detailView: false,     //是否显示父子表
            columns: [
                {
                    field: 'number',
                    title: '序号',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return index + 1;
                    }
                }, {
                    field: 'content',
                    title: '内容',
                    align: 'center',
                }, {
                    field: 'accessToken',
                    title: '访问码',
                    align: 'center',
                }, {
                    field: 'transactionHash',
                    title: 'hash',
                    align: 'center',
                }, {
                    field: 'dateCreated',
                    title: '创建时间',
                    align: 'center',
                }, {
                    field: 'detail',
                    title: '查看详情',
                    align: 'center',
                    formatter: function (value, row, index) {
                        return "<a>查看详情</a>";
                    }
                }
            ], onClickCell: function (field, value, row, column, $element) {
                if (column.context.innerText == "查看详情") {
                    openDetail(row.transactionHash);
                    return;
                }
            }
            ,
            onLoadError: function (e, s) {  //加载失败时执行
                if (s.responseText.indexOf('meta name="Login-Page"') != -1) {
                    location.href = "/login";
                }
            }
        });
    };
    //得到查询的参数
    oTableInit.queryParams = function (params) {
        if (params.offset) {
            pageNumber = params.offset / params.limit + 1;
        } else {
            pageNumber = 1;
        }
        var temp = { //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            currentPage: pageNumber, //页面大小
            pageSize: params.limit, //页码
            startTime: $('#startTime').val(),
            endTime: $('#endTime').val(),
            accessToken: $('#accessToken').val()
        };
        return temp;
    };
    return oTableInit;
};

function openDetail(transactionHash) {
    var param = {"transactionHash" : transactionHash};
    $('.cover').show();
    $.ajax({
        url:"/content/getDetail",
        data:param,
        dataType:"json",
        success:function(res){
            $('.cover').hide();
            if(res.status == "SUCCESS"){
                var str='';console.info(res.rows[0])
                var r = res.rows[0];
                if(res.rows[0]){
                    str += "<li class='list-group-item'>blockHash:"+r.blockHash+"</li>";
                    str += "<li class='list-group-item'>blockNumber:"+r.blockNumber+"</li>";
                    str += "<li class='list-group-item'>contractAddress:"+r.contractAddress+"</li>";
                    str += "<li class='list-group-item'>cumulativeGasUsed:"+r.cumulativeGasUsed+"</li>";
                    str += "<li class='list-group-item'>from:"+r.from+"</li>";
                    str += "<li class='list-group-item'>gasUsed:"+r.gasUsed+"</li>";
                    str += "<li class='list-group-item'>logsBloom:"+r.logsBloom+"</li>";
                    str += "<li class='list-group-item'>root:"+r.root+"</li>";
                    str += "<li class='list-group-item'>status:"+r.status+"</li>";
                    str += "<li class='list-group-item'>to:"+r.to+"</li>";
                    str += "<li class='list-group-item'>transactionHash:"+r.transactionHash+"</li>";
                    str += "<li class='list-group-item'>transactionIndex:"+r.transactionIndex+"</li>";
                }
                $('#receipt_detail').html(str);
            }else{
                alert(res.message);
            }
            $("#myModal3").modal("show");
        },
        error:function(e){
            isLogin(e.responseText);
        }
    });
}

function refreshTable() {
    $("#tb_borrow").bootstrapTable('refresh');
};

function changePlatform(){

}